今天來講折線圖,也是一個常見的圖表,常用來一段時間的趨勢,也可以比較兩條以上的線的趨勢。
一樣先建立Drawing(畫布大小),再加上折線圖,HorizontalLineChart(折線圖類別),基本上跟長條圖參數差不多。
有一些參數可以設定
圖表資料的格式 兩層的List,可以放數個List,一個List 代表一個長條圖。
valueAxis.visibleGrid:這裡多顯示了裡面的線,可以更好看到值
還有其他屬性,可以查官方文件。
程式碼
from reportlab.platypus import SimpleDocTemplate
from reportlab.graphics.shapes import Drawing
from reportlab.graphics.charts.linecharts import HorizontalLineChart
drawing = Drawing(200, 100)
dataList = [
[10, 20, 30, 40, 50, 60, 70, 80],
[70, 6, 7, 58, 47, 65, 21, 63],
]
horizontalLineChart = HorizontalLineChart()
horizontalLineChart.data = dataList
categoryNames = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H']
horizontalLineChart.categoryAxis.categoryNames = categoryNames
horizontalLineChart.valueAxis.valueMin = 0
horizontalLineChart.valueAxis.valueStep = 10
horizontalLineChart.valueAxis.valueMax = 100
horizontalLineChart.lines[0].strokeWidth = 2
horizontalLineChart.lines[1].strokeWidth = 2
horizontalLineChart.valueAxis.visibleGrid = True
drawing.add(horizontalLineChart)
fileName = "example.pdf"
pdfTemplate = SimpleDocTemplate(fileName)
story = []
story.append(drawing)
pdfTemplate.build(story)
結果圖
參考資料: